In many applications, accumulated data such as up-counts or down-counts are to be maintained for a long time duration. In an example application, three million counts are to be incrementally stored in a serial EEPROM (electronically erasable programmable read only memory) over a ten year lifetime without exceeding a 0.05% inaccuracy tolerance in a harsh operating environment.
The process of accumulating data and maintaining the accumulated data can be corrupted in a number of ways. For example, a memory location in an EEPROM can experience a write-cycle based EEPROM failure because a threshold (commonly referred to as a wear-out specification) of supported write cycles thereto is attained or exceeded. The threshold is not fixed for any given EEPROM device but is a function of many factors such as process variation when the EEPROM device is initially fabricated, as well as its operating environment. As the threshold is approached, a fading failure can occur where data written to a memory location is initially readable, but fades over time to be corrupted or unreadable, thus the integrity of the data written can be lost completely. Once the threshold is exceeded, a hard failure can occur where data written to the memory location cannot be read immediately after being written. A wear-out specification for a memory location of a typical EEPROM at room temperature is about 1,000,000 write cycles. At higher temperatures, however, the wear-out specification degrades to about 100,000 write cycles.
An interface-based failure can occur when communication between a controller and the EEPROM device is corrupted. Communication can be corrupted, for example, when a serial interface coupling the controller and the EEPROM device is subjected to electromagnetic interference such as a radio frequency interference, noise, glitches, or other disturbances.
What is needed is an improved approach for accumulating data and maintaining the accumulated data in an EEPROM device that is more reliable and robust against errors caused by fading and interface-based disturbances.